package com.ruoyi.oa.domain.vo;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.ExcelDictFormat;
import com.ruoyi.common.convert.ExcelDictConvert;
import lombok.Data;
import java.util.Date;
import com.ruoyi.workflow.domain.ActBusinessStatus;
import com.alibaba.excel.annotation.write.style.ColumnWidth;


/**
 * 岗位调转申请视图对象 oa_human_transfer
 *
 * @author ruoyi
 * @date 2023-06-29
 */
@Data
@ExcelIgnoreUnannotated
public class OaHumanTransferVo {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
//    @ExcelProperty(value = "主键")
    private String id;

    /**
     * 调动类型
     */
    @ExcelProperty(value = "调动类型", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "transfer_type")
    private String transferType;

    /**
     * 申请人
     */
    @ExcelProperty(value = "申请人")
    private String applicantName;

    /**
     * 申请人ID
     */
//    @ExcelProperty(value = "申请人ID")
    private String applicantId;

    /**
     * 原部门
     */
//    @ExcelProperty(value = "原部门")
    private String currentDept;

    /**
     * 原直属上级
     */
    @ExcelProperty(value = "原直属上级")
    private String currentLeader;

    /**
     * 原职位
     */
    @ExcelProperty(value = "原职位")
    private String currentPosition;

    /**
     * 原职级
     */
    @ExcelProperty(value = "原职级",converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType ="rank_level" )
    private String currentLevel;

    /**
     * 新部门
     */
//    @ExcelProperty(value = "新部门")
    private String newDept;

    /**
     * 新直属上级
     */
    @ExcelProperty(value = "新直属上级")
    private String newLeader;

    /**
     * 新职位
     */
    @ExcelProperty(value = "新职位")
    private String newPosition;

    /**
     * 新职级
     */
    @ExcelProperty(value = "新职级",converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType ="rank_level" )
    private String newLevel;

    /**
     * 备注
     */
//    @ExcelProperty(value = "备注")
    private String remarks;


    /**
     * 业务状态实体对象
     */
    private ActBusinessStatus actBusinessStatus;


    /**
 * 创建时间
 */
    @JsonFormat(pattern="yyyy-MM-dd HH:mm",timezone="GMT+8")
    @ExcelProperty(value = "提交日期")
    @ColumnWidth(20)
    private Date createTime;

    @ExcelProperty(value = "提交人")
    private String createBy;

    /**
     * 更新者
     */
    private String updateBy;

    /**
     * 更新时间
     */
    private Date updateTime;

}
